Management packs are commonly used to describe computers and applications deployed thereon to facilitate monitoring and managing the computers and applications in a networked environment. A management pack is business logic expressed in terms of an extensible language, such as extensible markup language (XML). Each management pack traditionally has a hard-coded structure and includes a hard-coded set of management pack elements. The management pack elements include information regarding the computers or applications in a computer network. For example, such information typically includes rules, knowledge, public views, workflows, and user interface constructs.
Management pack elements traditionally are solution-specific. For instance, management packs often include management pack elements that specify custom classes for representing the types of computers or applications that are monitored in the computer network, custom actions that are to be taken in response to receiving notifications of events or alerts generated by the computers, custom methods for retrieving elements of the management packs, custom Structured Query Language (SQL) code to read and import management pack element types into respective custom tables of a database, etc.
The cost of introducing a new management pack element into a conventional management pack infrastructure is often substantial. For example, the addition of a management pack element often necessitates element-specific handling infrastructure for managing the authoring, validation, importing, and exporting functionality in a management pack schema that describes the new management pack element.